-- boolean 类型只有两个可选值：true（真） 和 false（假），Lua 把 false 和 nil 看作是 false，其他的都为 true，数字 0 也是 true.

-- 下面是解决 utf-8 编码的 lua 文件在 win10 中乱码的问题.
--获取字符数
function char_count(str)
    local _, count = string.gsub(str, "[^\128-\193]", "")
    return count
end

--将字符串转为table
function char_table(str)
    local temp = {}
    for uchar in string.gmatch(str, "[%z\1-\127\194-\244][\128-\191]*") do
        temp[#temp+] = uchar -- 这行有问题?
    end
    return temp
end

print(type(true))
print(type(false))
print(type(nil))

if false or nil then
    print(char_table("至少有一个是 true"))
else
    print(char_table("false 和 nil 都为 false"))
end

if 0 then
    print(char_table("数字 0 是 true"))
else
    print(char_table("数字 0 为 false"))
end
